package com.dtsz.m2.volley;

import android.app.Application;
import android.content.Context;
import android.util.Log;

import com.android.volley.RequestQueue;
import com.android.volley.toolbox.ImageLoader;
import com.android.volley.toolbox.Volley;
import com.bytedance.sdk.openadsdk.TTAdConfig;
import com.bytedance.sdk.openadsdk.TTAdConstant;
import com.bytedance.sdk.openadsdk.TTAdSdk;
import com.dtsz.m2.BuildConfig;
import com.dtsz.m2.R;

import cn.jpush.android.api.JPushInterface;


public class VolleyApplication extends Application {
    private static VolleyApplication instance;
    private RequestQueue mQueue;
    private ImageLoader mImageLoader;

    private static final String TAG = "emmmmmmmmmm";

    public static String APPID = "236934733861224448";



    private static String oaid;


    private static boolean isSupportOaid = true;
    private static int errorCode;

    public static String getOaid() {
        return oaid;
    }

    public static String getErrorCode() {
        return String.valueOf(errorCode);
    }

    public static boolean isSupportOaid() {
        return isSupportOaid;
    }

    public static void setIsSupportOaid(boolean isSupportOaid) {
        VolleyApplication.isSupportOaid = isSupportOaid;
    }

    public static void setIsSupportOaid(boolean isSupportOaid, int ErrorCode) {
        VolleyApplication.isSupportOaid = isSupportOaid;
        VolleyApplication.errorCode = ErrorCode;
    }


    public static VolleyApplication getInstance() {
        return instance;
    }

    @Override
    protected void attachBaseContext(Context base) {
        super.attachBaseContext(base);
        try {
//           SeAdManagerHolder.installSeAd(this);
           //JLibrary.InitEntry(base);
        } catch (Exception e) {
            e.printStackTrace();
        }
    }


    ///appID
    @Override
    public void onCreate() {
        super.onCreate();
        instance = this;
        mQueue = Volley.newRequestQueue(this); //初始化 volley

        //开启极光推送
        JPushInterface.setDebugMode(true);
        JPushInterface.init(this);


//        TTAdSdk.init(this,new TTAdConfig.Builder()
//                .appId("5233833")
//                .appName("m2_android")
//                .paid(true)
//                .useTextureView(true)
//                .allowShowNotify(true)
//                .debug(BuildConfig.DEBUG)
//                .directDownloadNetworkType(TTAdConstant.NETWORK_STATE_WIFI, TTAdConstant.NETWORK_STATE_3G, TTAdConstant.NETWORK_STATE_4G) //允许直接下载的网络状态集合
//                .supportMultiProcess(true) //是否支持多进程
//                .needClearTaskReset()
//                .build(),new TTAdSdk.InitCallback() {
//            @Override
//            public void success() {
//
//            }
//
//            @Override
//            public void fail(int i, String s) {
//
//            }
//        });
//
//        TTAdSdk.getAdManager().requestPermissionIfNecessary(this);



        //强烈建议在应用对应的Application#onCreate()方法中调用，避免出现content为null的异常
        TTAdSdk.init(this,
                new TTAdConfig.Builder()
                        .appId("5233833")
                        .useTextureView(true) //默认使用SurfaceView播放视频广告,当有SurfaceView冲突的场景，可以使用TextureView
                        .appName("m2_android")
                        .titleBarTheme(TTAdConstant.TITLE_BAR_THEME_DARK)//落地页主题
                        .allowShowNotify(true) //是否允许sdk展示通知栏提示,若设置为false则会导致通知栏不显示下载进度
                        .debug(true) //测试阶段打开，可以通过日志排查问题，上线时去除该调用
                        .directDownloadNetworkType(TTAdConstant.NETWORK_STATE_WIFI) //允许直接下载的网络状态集合,没有设置的网络下点击下载apk会有二次确认弹窗，弹窗中会披露应用信息
                        .supportMultiProcess(false) //是否支持多进程，true支持
                        .asyncInit(true) //是否异步初始化sdk,设置为true可以减少SDK初始化耗时。3450版本开始废弃~~
                        //.httpStack(new MyOkStack3())//自定义网络库，demo中给出了okhttp3版本的样例，其余请自行开发或者咨询工作人员。
                        .build(), new TTAdSdk.InitCallback() {
                    @Override
                    public void success() {
                        Log.i(TAG, "success: ");
                    }

                    @Override
                    public void fail(int i, String s) {
                        Log.i(TAG, "fail: ");
                    }
                });
        //如果明确某个进程不会使用到广告SDK，可以只针对特定进程初始化广告SDK的content
        //if (PROCESS_NAME_XXXX.equals(processName)) {
        //   TTAdSdk.init(context, config);
        //}






    }

    public static VolleyApplication getMyApplication() {
        return instance;
    }

    public RequestQueue getRequestQueue() {
        return mQueue;
    }

    public ImageLoader getImageLoader() {
        return mImageLoader;
    }


    @Override
    public void onTerminate() {
        super.onTerminate();
    }

}
